package com.foreknow.demo13;

/**
 * 多态：
 * 满足多态的三个条件
 * 1.要有继承关系
 * 2.方法重写(覆盖)
 * 3.父类的引用指向子类的对象
 */
public class B extends A {
  int x = 2;

  @Override
  public void func() {
    System.out.println("这是子类的方法");
  }

  public static void main(String[] args) {
    B b = new B();//创建了子类的对象
    b.func(); //子的方法还是父类的方法
    System.out.println(b.x); //就量输出的是子类的还是父的

    System.out.println("---------------------------------");

    A y = new B(); //父类的引用指向子类的对象
    y.func();//子的方法还是父类的方法
    System.out.println(y.x);//就量输出的是子类的还是父的
  }
}
